import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCPracticeInsert {
    public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        //1.创建并且初始化数据源  数据源：就是数据是从哪里来的（描述数据库服务器在哪）
        DataSource dataSource = new MysqlDataSource();//DataSource是一个接口，不能直接new对象
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java107_2?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("12345");
        //2.建立与数据库服务器的连接
        Connection connection = dataSource.getConnection();
        //3.从控制台输入要插入的数据
        System.out.println("请输入学生姓名：");
        String name = scanner.next();
        System.out.println("请输入学生id：");
        int id = scanner.nextInt();
        //4.构造SQL语句
        String sql = "insert into student values(?,?)";
        PreparedStatement statement =  connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        //5.执行SQl语句
        int ret = statement.executeUpdate();//是指影响的行数
        System.out.println("ret = " + ret);
        //6.释放必要的资源
        statement.close();
        connection.close();
    }
}
